草庐IT

objective-c - Xcode 和 XIB 自文档

全部标签

C++ 类作为 Objective-C 类的实例变量

我需要混合使用Objective-C和C++。我想将所有C++内容隐藏在一个类中,而将所有其他内容保留为纯Objective-C。问题是我想要一些C++类作为实例变量。这意味着它们必须在头文件中提及,它被其他类包含并且C++开始传播到整个应用程序。到目前为止,我能想到的最佳解决方案如下所示:#ifdef__cplusplus#import"cppheader.h"#endif@interfaceFoo:NSObject{idregularObjectiveCProperty;#ifdef__cplusplusCPPClasscppStuff;#endif}@end这行得通。实现文件有一

c++ - 我怎样才能修复 xcode 一直编译所有的东西?

我已经开始使用XCode,它似乎大部分都能正常工作。烦人的是它每次都编译所有的源文件,甚至那些没有改变的文件。我正在掌握openframeworks,我每次都浪费时间编译openframeworks源文件,尽管它们没有改变。这是我的IDE和机器的详细信息:X代码版本3.1.2组件版本Xcode集成开发环境:1149.0Xcode核心:1148.0工具支持:1102.0苹果操作系统版本10.5.6有没有人遇到过同样的问题?任何解决方法? 最佳答案 您保存了一些文件,然后操作系统已经向后同步了您的系统时间。现在检测到这些文件将来会被修改

c++ - Objective-C 和 C++ 之间的转换比较

好的,所以这可能是一个学术问题。谁能告诉我C++的转换运算符是否/如何转换为Objective-C...或者它们如何/为什么不需要?我已经脱离C++的圈子几年了,似乎每次我转身他们都会添加一些新的关键字。我最近了解到C++的各种转换运算符reinterpret_cast、static_cast、dynamic_cast和const_cast。我不太清楚何时会出现需要使用所有这些类型的强制转换的情况。我现在已经使用Objective-C一两年了,对它感觉相当舒服。(在那之前主要是C人)。我试图理解为什么C++似乎具有所有这些复杂性。或者换句话说,Objective-C缺少什么它似乎没有(

c++ - XCode 助理编辑器不显示我的 .h 和相关的 .cpp 文件

如果我从xcode创建.cpp文件,它会自动为我创建.h文件,我将能够在AssistantEditor中同时查看两个文件。它将显示.h文件与.cpp文件相关联。但是,我从TextMate创建我的项目并手动导入这些文件。现在,当我单击.h文件时,它不会在旁边显示相关的cpp文件。我怎样才能做到这一点。谢谢 最佳答案 嗯..我试着重现你的问题,但它对我有用。我有两个想法:1)你确定他们的名字是一样的吗?如果不是,它似乎不认为他们是同行。2)当您切换到AssistantEditor时,后退/前进按钮的右侧是一个下拉菜单,用于选择要显示的文

c++ - C++ 中的 Objective C "autorelease"——控制对象生命周期的标准方法?

我正在将一些代码从ObjectiveC移植到C++。我对C++设计模式的熟悉不如对ObjectiveC的熟悉。在Cocoa世界中,有一种非常常见的模式,即编写返回“自动释放”对象的工厂方法。一些简单的事情:-(MyClass*)load{MyClass*obj=[[MyClassalloc]init];return[objautorelease];}这个简单易懂。该方法拥有它分配的内存,但可以将其交还给调用者,同时放弃所有权。它不必知道或关心调用者对该内存做了什么。如果保留它,该对象将存活。如果完全忽略,内存将在当前调用堆栈展开后的某个时间释放。我在C++中有些惶恐地接近这个,因为它的

RabbitMQ(十二)Cannot deserialize value of type `java.lang.String` from Object value 报错整理

目录1.核心报错内容:2.完整报错内容:3.报错原因:4.解决方案:消息接收类型错误1.核心报错内容:Cannotdeserializevalueoftypejava.lang.StringfromObjectvalue(tokenJsonToken.START_OBJECT)2.完整报错内容:org.springframework.amqp.rabbit.listener.exception.FatalListenerExecutionException:Illegalnullidinmessage.Failedtomanageretryformessage:(Body:'[B@7f8bf9

c++ - 代码在 g++ 中运行完美,但在 Xcode 中运行不完美 - 找不到文件

我创建了一个包含内容的文本文件。它位于与cpp文件相同的文件夹中。我已经多次确认该文件存在。当我运行g++时,编译并运行它会找到该文件。当我在Xcode中运行它时,它不起作用。如果找不到文件。#include#include#includeusingnamespacestd;intmain(){stringline;ifstreammyfile("example.txt");if(myfile.is_open()){while(myfile.good()){getline(myfile,line);cout 最佳答案 您的文件无法打

c++ - 在 C++ 中 : why does a constructor get called when an array of objects is declared?

MyClassmc2[]={MyClass(),MyClass()};//thiscallstheconstructortwiceMyClassmc1[4];//thiscallstheconstructor4times.Why?所以,我的问题是:为什么没有初始化的对象数组声明会导致调用默认构造函数? 最佳答案 在C++中,大小为4的MyClass数组是四个实际对象。它有点像包含该类型的四个成员的结构,当然您可以使用不同的语法访问这些成员,并且存在其他技术差异。因此,定义该数组导致构建4个对象的原因(并且在大致相同的情况下)与定义该

c++ - Xcode 9 开始在 C++ 中构建部分模板特化

我将我的Xcode更新到版本9,然后着手构建我的包含Tensorflow框架的应用程序。好像是下面的代码:#ifndefHeader_h#defineHeader_htemplateclassA{};//primarytemplatetemplateclassA{};//error#endif/*Header_h*/将被Xcode9拒绝并显示错误消息“部分模板特化并不比主模板更特化”。但在Xcode8.3.3和visualstudio中,它很好。这是原始的Tensorflow代码:(TensorStorage.h)templateclassTensorStorage;//Purefix

c++ - 在 Objective-C 中使用 .mm 文件有哪些怪癖/惊喜?

我想在我的Objective-CiPhone应用程序中使用一些C++STL集合。显然这可以通过给文件扩展名".mm"来实现。与此相关的怪癖/惊喜有哪些?我想使用我熟悉的基本容器(vector、队列、集合……)干杯! 最佳答案 参见UsingC++WithObjective-C有关您可以做什么和不能做什么的详细列表。您可以做大多数您期望的事情。你不能做一些事情,比如让C++类继承自Objective-C类,反之亦然,你不能将C++异常与Objective-C异常混合,C++引入了几个Objective-C中不存在的新关键字。